package collention;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

/**
 * @Classname: ArrayToListDemo
 * @Author: bromide
 * @CreateTime: 2022/4/6--16:43
 * @Version: V1.0
 * @Description: 数组转换为集合
 * 数组的工具类Arrays提供了一个金泰方法asList，可以将一个数组转换为一个集合
 */
public class ArrayToListDemo {
    public static void main(String[] args) {
        String[] array = {"one", "two", "three", "four", "five"};
        System.out.println("array:" + Arrays.toString(array));
        List<String> list = Arrays.asList(array);
        System.out.println("list:" + list);

        //对该集合的操作就是对原数组对应的操作
        list.set(1, "six");
        System.out.println("array:" + Arrays.toString(array));
        System.out.println("list:" + list);

        //会改变数组长度的操作都是不支持的，因为数组是定长的
        //会抛出异常：java.lang.UnsupportedOperationException(不支持的操作异常)
        /*list.add("seven");
        System.out.println("array:"+Arrays.toString(array));
        System.out.println("list:"+list);*/

        //如果需要对集合进行增加或者删除  需要重新创建一个新的集合
//        List<String> list2 = new ArrayList<>();
//        list2.addAll(list);
        /*
            所有的集合都支持一个阐述为Collection的构造器，作用是在创建当前集合的同时
            包含给定集合中的所有元素
         */
        List<String> list2 = new ArrayList<>(list);
        System.out.println("list2：" + list2);
        list2.add("seven");
        System.out.println("list2：" + list2);


    }
}
